package org.jeecg.modules.article.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.article.entity.Article;
import org.jeecg.modules.article.vo.RotationVO;

import java.util.List;

/**
 * @Description: 文章
 * @Author: jeecg-boot
 * @Date:   2020-10-14
 * @Version: V1.0
 */
public interface IArticleService extends IService<Article> {
   /**
    * TODO:
    *
    *
    * @author ZhangHaoyu
    * @param articleId
    * @return int
    */
   int updateReadingNum(String articleId);
   /**
    * TODO: 分页
    *
    *
    * @author ZhangHaoyu
    * @param page 分页
    * @return java.util.List<org.jeecg.modules.demo.phil.entity.Article>
    */
   Page<Article> queryListByHomePageIsTrue(Page<Article> page);

   /**
    * TODO: 获取轮播图信息
    *
    *
    * @author ZhangHaoyu
    * @param update 是否提前更新 0 不是 1 是
    * @return java.util.List<org.jeecg.modules.phil.entity.Article>
    */
   List<RotationVO> getTopRotation(int update);


   /**
    * TODO: 根据栏目名称获取栏目文章，利用stream流排序   置顶在上，时间逆序
    *
    *
    * @author ZhangHaoyu
    * @param columnName 栏目名称
    * @return java.util.List<org.jeecg.modules.article.entity.Article>
    */
   Page<Article> getSortArticleByColumn(Page<Article> page,String columnName);

   /**
    * TODO: 获取订阅推送的文章的信息
    *
    *
    * @author ZhangHaoyu
    * @param arrayIds 文章ids
    * @return java.util.List<org.jeecg.modules.article.entity.Article>
    */
    List<Article> myListByIds(List<String> arrayIds);
}
